/*
*  此页面的代码表示订单管理的子页面和跳转页面公用的一些代码
* 包括设置侧边栏..sideBar
* 处理列表公用的一些封装好的方法....
*
 * 等等....
* */


/**
 * 设置侧边栏停留的状态
 */
$(function(){

    //为侧边栏的标签增加active
    function setSideActive()
    {
        for(var m=0;m<$('.sub_list').length;m++)
        {
            for(var n=0;n<$('.sub_list').eq(m).children('li').length;n++)
            {
                if( $('.sub_list').eq(m).children('li').eq(n).children('a').attr('href') .indexOf('#') >= 0 )
                {
                    $('.sub_list').eq(m).children('li').eq(n).removeClass('active');
                    $('.sub_list').eq(m).children('li').eq(n).parent('ul').prev('h3').css({ 'color':'#fff' })
                    $('#accordion h3').eq(m).attr('onOff',0);
                };
            };
        };
    };
    setSideActive();

    //页面初始化时 为一级菜单设置展开和对应的icon
    function setFirstUnfold()
    {
        for( var i=0;i<$('.sub_list').length;i++ )
        {
            if($('#accordion h3').eq(i).attr('onOff') == 1)
            {
                $('.sub_list').eq(i).hide();
            }
            else
            {
                $('.sub_list').eq(i).show();
            };
        };
    };
    setFirstUnfold();

    //为三级菜单增加active
    function setThirdSideActive()
    {
        for( var a = 0;a < $('.third_list').length;a++ )
        {
            for( var b=0;b<$('.third_list').eq(a).children('li').length;b++ )
            {
                if( $('.third_list').eq(a).children('li').eq(b).children('a').attr('href').indexOf('order_admin.html') >= 0 )
                {
                    $('.third_list').eq(a).children('li').eq(b).addClass('active');
                    $('.third_list').eq(a).children('li').eq(b).parent('ul').prev('li').children('a').css('color','#fff');
                    $('.third_list').eq(a).prev('li').attr('li_onoff',0);
                };
            };
        };
    };
    setThirdSideActive();

    // 为三级菜单试着展开可折叠....
    function setThirdUnfold()
    {
        for(var m=0;m<$('.sub_list').length;m++)
        {
            for(var n=0;n<$('.sub_list').eq(m).children('li').length;n++)
            {
                if( $('.sub_list').eq(m).children('li').eq(n).attr('li_onoff') == 0 )
                {
                    $('.sub_list').eq(m).children('li').eq(n).next('ul').show();
                };
            };
        };
    };
    setThirdUnfold();

});

/**
 * 处理表格公用的一些方法:将日期格式化....将日期补0.....字符串截取....
 */
//将毫秒时间格式化为yyyy-MM-dd;
function getMoth(str)
{
    var oDate = new Date(str),
        oYear=oDate.getFullYear(),
        oMonth = oDate.getMonth()+1,
        oDay = oDate.getDate(),
        oTime = getzf(oYear) +'-'+ getzf(oMonth) +'-'+ getzf(oDay);//最后拼接时间
    return oTime;
};

//将日期补0操作
function getzf(num)
{
    if(parseInt(num) < 10){
        num = '0'+num;
    }
    return num;
};

//字符串截取的一个函数,只显示前六个字;
function cutWord(a)
{
    if( (a == '') || (a == null) )
    {
        return '';
    }
    else
    {
        return a.substring(0,6)+'......';
    }
};

//将后台返回的订单状态码修改成文字
function changeOrderStatus(para)
{
    if( para == 1 )
    {
        return '待支付';
    }
    else if( para == 2 )
    {
        return '待发货';
    }
    else if( para == 3 )
    {
        return '待收货';
    }
    else if( para == 4 )
    {
        return '已收货';//已收货跟已完成是同一个状态.....
    };
};

/*
* 封装的一个扩展jQuery的方法.....用来获取地址栏中的参数....
* */

//下面这封装好的函数是获取URL中参数值的方法:
(function($){
    $.getUrlParam = function(name)
    {
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r!=null) return unescape(r[2]); return null;
    }
})(jQuery);

//清空表格当中的数据,并且追加表头
function clearDetailTable(Dom)
{
    $(Dom).html('');
    $(Dom).append('<tr><th>序号</th><th>商品名称</th><th>商品编号</th><th>颜色</th><th>型号</th><th>尺寸</th><th>数量</th><th>单价</th><th>总价</th><th>状态</th></tr>');
};

// 当后台状态码是515时,让客户重新登录
function reLogin()
{
    alert('登录超时,请重新登录!');
    localStorage.clear();
    window.location.href = login_jump;
};

// 将退款和退货页面中的服务类型转换成文字
function changeServiceWord(para)
{
    if( para == 0 )
    {
        return '退款';
    }
    else if( para == 1 )
    {
        return '退货';
    };
};

// 将订单状态变成文字:申请退款...退款处理中...退款完成...
function changeRefuseStatus(para,auditStatus)
{
    if( para == 0 )
    {
        return '申请退款';
    }
    else if( para == 1 )
    {
        return '退款处理中';
    }
    else if( para == 2 )
    {
        if( auditStatus == 1 )
        {
            return '申请拒绝';
        }
        else if( auditStatus == 2 )
        {
            return '退款完成';
        };
    };
};

// 将流程订单中详情页的商品状态转换成文字
function changeNormalGoods(para)
{
    if(para == 0)
    {
        return '未支付';
    }
    else if(para == 1)
    {
        return '已支付';
    }
    else if(para == 2)
    {
        return '退款中';
    }
    else if(para == 3)
    {
        return '已退款';
    };
};
// 将退款订单和退货订单中...详情页的商品状态转换成文字
function changeRefuseOrder(para,auditStatus)
{
    if(para == 0)
    {
        return '申请退款';
    }
    else if(para == 1)
    {
        return '退款处理中';
    }
    else if(para == 2)
    {
        if( auditStatus == 1 )
        {
            return '申请拒绝';
        }
        else if( auditStatus == 2 )
        {
            return '退款完成';
        };
    };
};

/*
    退款和退货列表页在导出表格时....把隐藏的表格清空...然后追加表头..
 */
function clearHideRefuseTable(Dom)
{
    $(Dom).html('');
    $(Dom).append('<thead><tr><th>序号</th><th>退款编号</th><th>订单编号</th><th>商品名称</th><th>数量</th><th>颜色</th><th>尺寸</th><th>型号</th><th>单价</th><th>邮费</th><th>金额</th><th>买家ID</th><th>买家昵称</th><th>下单时间</th><th>支付时间</th><th>发货时间</th><th>服务类型</th><th>申请退款时间</th><th>退款状态</th><th>退货快递公司</th><th>退货物流单号</th></tr></thead><tbody></tbody>');

};

/*
将后台返回来的数据进行处理...若是null...静显示为空''
 */
function changeNull(para)
{
    if( para == null )
    {
        return '';
    }
    else
    {
        return para;
    };
};

// 将字符串的一个方法加到原型上面...可以多次调用...去掉字符串当中的空白字符...
String.prototype.sTrim = function (){return this.replace(/\s*/g, "");};

// 处理收货地址....将收货地址处理...保留前10位文字....
    function setShippingAddress(para)
    {
        if( (para == '') || (para == null) )
        {
            return '';
        }
        else
        {
            return para.substring(0,9)+'...';
        }
    }












